Database First就是先在資料庫把資料庫結構設計完成,再到ASP.NET Core裏,建立資料庫連線,然後使用Entity Framework來完成Model的建立。
昨天,我們做了三個Table的結構設計,在SQL Server的SSMS裏,利用新增資料表把這三個資料表建好。要注意設置Id欄位為Primary Key。
建好資料表SSMS如下圖。
回到ASP.NET Core的環境,先建一個資料庫連線,如下圖在[伺服器總管]的[資料連接]選[加入連接...]
然後在[選擇資料來源]視窗選擇Microsoft SQL Server,可別選了Microsoft SQL Serevr資料庫檔案,這是兩碼子事。
按下[繼續]就出現[加入連接]的視窗,在這裏輸入要連結的資料庫伺服名稱和選擇資料庫名稱,我們就把剛才建好的資料庫拿來用。
要注意的是驗證是選擇Windwos驗證,這也是所謂整合式驗證的一部份,我們點開驗證的下拉選單還可以看到其他三種不同驗證方式:
Scaffold-DbContext "DBConnectionString" Microsoft.EntityFrameworkCore.SqlServer -OutputDir Models
Data Source=SMNVM;Initial Catalog=HRDB;Integrated Security=True
Scaffold-DbContext "Data Source=SMNVM;Initial Catalog=HRDB;Integrated Security=True;" Microsoft.EntityFrameworkCore.SqlServer -OutputDir Models
請問,當主索引的一定是要ID(int)嗎 , 我 建立了資料表 stno(char 2) , vouchno(char 10)當主索引 , 使用 EF savechange , 它說主索引欄位不能修改=>.....是此物件之索引鍵資訊的一部分,而且無法修改 ..... 為什麼 , 剛學 mvc 的我 , 謝謝
這是ASP.NET Core的系統遊戲規則,Id是用來辨識記錄的惟一主鍵。
Thanks
雖然這篇很久了, EF 拿來運用與資料庫 CRUD 根本就是懶人才會去寫,都是為了一個小小的需求拿「殺雞焉用牛刀」卻使得專案與資料庫累積了大量雜物,最後又要重構程式碼與資料庫。
想用資料應用還是多學一下正統資料庫相關觀念與設計,各其所需每一個 "技術" 都有好有壞,但最基本的各其所需會是重點。
寫資料庫應用就很難 Debug 了嗎?? 如果了解更多技術的應用與學習,才是真的學習到與了解到,不要每一個都學結果什麼都不精。很難...那你就別幹程式設計這條路了,根本就不適合你...